package com.example.chamberlainserver.Service;

import org.springframework.web.multipart.MultipartFile;

import java.util.Map;

/**
 * 火山引擎 veImageX 上传服务接口
 * 提供图片上传相关功能
 */
public interface VeImageXUploadService {

    /**
     * 上传图片文件
     * @param file 要上传的文件
     * @param fileName 文件名（可选）
     * @return 上传结果，包含图片URL等信息
     */
    Map<String, Object> uploadImage(MultipartFile file, String fileName);

    /**
     * 获取上传凭证
     * 用于客户端直传
     * @return 上传凭证信息
     */
    Map<String, Object> getUploadAuth();

    /**
     * 删除图片
     * @param imageUri 图片URI
     * @return 删除是否成功
     */
    boolean deleteImage(String imageUri);

    /**
     * 获取图片信息
     * @param imageUri 图片URI
     * @return 图片信息
     */
    Map<String, Object> getImageInfo(String imageUri);
}